博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】[JavaScript]只需一行代码,轻松搞定快捷留言功能 小助手功能
阅读量:5298 次
发布时间:2019-06-14

本文共 3819 字,大约阅读时间需要 12 分钟。

//作者:Justin//出处:http://justinw.cnblogs.com///版权:转载请保留出处即可。//版本:V1.0 beta//最后更新:201003300330//备注:如有问题,可以优先到 http://www.cnblogs.com/justinw/archive/2010/03/30/1700190.html 留言提问。//--begin--jMsg---function jMsg() { }//初始化动作jMsg.prototype.setup = function() {    jMsg.loadEvent(this.combat);    //jMsg.loadEvent(jMsg.msgDIV);    jMsg.msgDIV();}//提交留言信息jMsg.prototype.post = function(msg) {    //这里通过判断HaveUp标志位,来防止反复提交相同留言。    if (window.top.HaveUp) {        alert('您已经顶过了!谢谢朋友 :)');        return;    }    var txt = document.getElementById('tbCommentBody');    if (txt != null) {        txt.style.backgroundColor = "#E4F5FF";        var date = new Date();        txt.value = msg;        txt.focus();        //如果提交过一次快捷留言,HaveUp就设置为true        //每次重新进入页面,HaveUp就会被初始化。        window.top.HaveUp = true;        //这是博客园提交留言用的方法,通过这里正是提交留言。        //如果没有登录就直接在客户端调用这个方法,内部会抛个错。(博客园代码问题,没有判空)        PostComment();    }    else {        //目前博客园功能上约束只有登录后才能提交留言。        //如果找不到tbCommentBody元素,可以认为当前用户没有登录。        alert("使用博客园留言功能需要先登录哦!");    }}//推荐jMsg.prototype.recommend = function() {    var diggit = jMsg.getElementsByClassName('diggit');    if ((diggit) && (diggit[0])) {        diggit[0].onclick();    }    else {        alert("Debug:推荐按钮的ClassName改名了!");    }}//反对jMsg.prototype.combat = function() {    var buryitMsg = function() {        //目前博客园推荐和反对都是不记名的,被反对了当然希望知道原因啦。        //这个功能只能做到防君子不防小人,仅仅是给了个提示而已。                var txt = document.getElementById('tbCommentBody');        if (txt != null) {            alert('这枚同学,非常希望能听到您的宝贵意见,请赐教...');            txt.style.backgroundColor = "#fe9ab3";            txt.focus();        }    }    var buryit = jMsg.getElementsByClassName('buryit');    if ((buryit) && (buryit[0])) {        jMsg.addEvent(buryit[0], "click", buryitMsg);    }}//提交留言的同时推荐jMsg.prototype.superPost = function(msg) {    this.post(msg);    //这里增加询问功能,不支持自动直接推荐    if (confirm("您是否要同时推荐该篇文章呢?")) {        this.recommend();    }}//附加onload事件jMsg.loadEvent = function(fn) {    var oldonload = window.onload;    if (typeof window.onload != 'function') {        window.onload = fn;    } else {        window.onload = function() {            oldonload();            fn();        }    }}//附加事件jMsg.addEvent = function(obj, type, fn) {    if (obj.addEventListener)        obj.addEventListener(type, fn, true);    else if (obj.attachEvent) {        obj.attachEvent("on" + type, function() {            fn();        });    }}//通过ClassName找到DOM元素jMsg.getElementsByClassName = function(n) {    var el = [],        _el = document.getElementsByTagName('*');    for (var i = 0; i < _el.length; i++) {        if (_el[i].className == n) {            el[el.length] = _el[i];        }    }    return el;}//快捷留言的浮动导航条jMsg.msgDIV = function() {    //是否出现浮动条。    if (!(window.location.href.indexOf(".html") > -1)) return;    //动态计算浮动滚动条的位置    lastScrollY = 0;    var beat = function() {        var diffY;        if (document.documentElement && document.documentElement.scrollTop)            diffY = document.documentElement.scrollTop;        else if (document.body)            diffY = document.body.scrollTop        else        { /*Netscape stuff*/ }        percent = .1 * (diffY - lastScrollY);        if (percent > 0) percent = Math.ceil(percent);        else percent = Math.floor(percent);        document.getElementById("msgDiv").style.top = parseInt(document.getElementById("msgDiv").style.top) + percent + "px";        lastScrollY = lastScrollY + percent;    }    msgDivCode = "
我要顶! 
路过
{快捷链接会直接提交留言或推荐}
"; document.write(msgDivCode); window.setInterval(beat, 120);}//--end--jMsg---//todo:提供设置是否显示浮动条的接口//todo:提供自定义浮动条图片的接口//todo:提供完全自定义浮动条内容的接口//todo:提供浮动条以外的交互模式接口var $jMsg = new jMsg();$jMsg.setup();

转载于:https://www.cnblogs.com/shenzhenjia/archive/2011/07/28/2120393.html

你可能感兴趣的文章
Java基础(十六)断言(Assertions)
查看>>
脚本删除文件下的文件
查看>>
实用拜占庭容错算法PBFT
查看>>
笔试题资源整理(1)
查看>>
ubuntu16.04 anaconda3安装
查看>>
css 外边距,内边距的使用
查看>>
关于窗口Y坐标的小问题
查看>>
php gd 图像翻转,php(gd库)输出中文图像的转换函数
查看>>
java 表头添加复选框,表头带有CheckBox可以实现全选的jtable
查看>>
java b组 小计算器,简单计算器..
查看>>
php server port,$_SERVER[‘SERVER_PORT’]关于php5.2一个bug
查看>>
php 类 init,PHP内核探索:类的定义
查看>>
java的二叉树树一层层输出,Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历...
查看>>
meep php,麻省理工时域差分软件 MEEP windows 下编译开发(一)——准备工作
查看>>
matlab的清除0,matlab中的平均值clear %清除变量dx=0.01*2*pi; %间隔x=0:dx:2*pi; %自变量向量y=...
查看>>
php 循环套 重复,php 循环套循环 出现重复数据
查看>>
mysql distince,MySQL学习(未完待续)
查看>>
php libevent 定时器,PHP 使用pcntl和libevent实现Timer功能
查看>>
对数字进行 混淆 php,解密混淆的PHP程序
查看>>
zencart不支持php7的原因,Zen Cart1.3.8产品页报错提示:Deprecated: Function ereg_replace() is deprecated...
查看>>